/* created at 2008-07-05:00:11:44 */
package pl.kwiecienm.jcomet.configuration;

import java.util.Collection;

import pl.kwiecienm.jcomet.Aggregator;
import pl.kwiecienm.jcomet.Calculation;
import pl.kwiecienm.jcomet.LineAnalyzer;
import pl.kwiecienm.jcomet.output.Writter;

/**
 * Contains metric definitions to be calculated. Metric definition contains
 * information about analyzer(s) it should use. After the analysis is performed
 * results are passed to some function or aggregator. The final result if
 * persisted somewhere - ex. XML file. The definitions of writers should also be
 * included
 * 
 * @author kwiecienm
 */
public interface CometConfiguration {

    /**
     * @return
     */
    Collection<String> getSourceFolders();

    /**
     * @return
     */
    Collection<LineAnalyzer> getAnalyzers();

    /**
     * @return
     */
    Collection<Aggregator> getAggregators();

    /**
     * @return
     */
    Collection<Calculation> getCalculations();

    /**
     * @return
     */
    Collection<Writter> getWritters();
}
